
struct x_dlist_node_t;
struct x_dlist_t;
struct x_hash_t;

int x_dlist_init(struct x_dlist_t *dlist, int size);
int x_dlist_set_block_size(struct x_dlist_t *dlist, int size);
int x_dlist_free(struct x_dlist_t *dlist);
int x_dlist_count(struct x_dlist_t *dlist);
int x_dlist_size(struct x_dlist_t *dlist);
int x_dlist_block_size(struct x_dlist_t *dlist);
int x_dlist_set_comp(struct x_dlist_t *dlist, x_dlist_comp comp_func);
struct x_dlist_node_t *x_dlist_get_node(struct x_dlist_t *dlist);
int x_dlist_free_node(struct x_dlist_t *dlist, struct x_dlist_node_t *dnode);
struct x_dlist_node_t *x_dlist_find_node(struct x_dlist_t *dlist, void *arg1);
struct x_dlist_node_t *x_dlist_find_node_x(struct x_dlist_t *dlist, struct x_dlist_node_t *node, void *arg1);

char *x_dlist_get_buf(struct x_dlist_t *dlist);
int x_dlist_free_buf(struct x_dlist_t *dlist, void *buf);

int x_hash_init(struct x_hash_t *hash, int bucket_size, int data_size);
int x_hash_set_block_size(struct x_hash_t *hash, int size);
int x_hash_free(struct x_hash_t *hash);
char *x_hash_get_buf(struct x_hash_t *hash, int64_t key);
int x_hash_free_buf(struct x_hash_t *hash, int64_t key);
char *x_hash_find(struct x_hash_t *hash, int64_t key);
int x_hash_count(struct x_hash_t *hash);
int x_hash_size(struct x_hash_t *hash);
int x_dlist_stat(struct x_dlist_t *dlist);
int x_hash_stat(struct x_hash_t *hash);

